/*
 * =====================================================================================
 * Copyright (C) 2023 Ingenic Semiconductor Co.,Ltd
 * All Rights Reserved
 *
 * Filename     : t32.h
 * Author       : Keven <keven.ywhan@ingenic.com>
 * Created      : 2024/06/19 16:37
 * Description  :
 *
 * =====================================================================================
 */

#ifndef __T32_H__
#define __T32_H__

#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include <core.h>

#include "common/reg_base.h"
#include "interrupt.h"
#include "tick.h"
#include "kmalloc.h"
#include "msleep.h"
#include "printk.h"
#include "gpio.h"

#define DECLARE_GLOBAL_DATA_PTR register void *gd asm ("gp")

static inline void set_gd(volatile void *gd_ptr)
{
	asm volatile("lw gp, %0\n" : : "m"(gd_ptr));
}

#endif /* __T32_H__ */

